916b506e367df7277efa720a68e61bd36408c903,source/com/intellij/refactoring/typeCook/deductive/resolver/BindingFactory.java,BindingImpl,merge,#Binding#boolean#,518

Before Change


    }

    public void merge(final Binding b, final boolean removeObject) {
      for (final Iterator<PsiTypeVariable> v = b.getBoundVariables().iterator(); v.hasNext();) {
        final PsiTypeVariable var = v.next();
        final Integer index = new Integer(var.getIndex());

        if (myBindings.get(index) != null) {

After Change


    }

    public void merge(final Binding b, final boolean removeObject) {
      for (final PsiTypeVariable var : b.getBoundVariables()) {
        final Integer index = new Integer(var.getIndex());

        if (myBindings.get(index) != null) {
          LOG.error("Oops... Binding conflict...");
        }
        else {
          final PsiType type = b.apply(var);
          final PsiClassType javaLangObject =
            PsiType.getJavaLangObject(PsiManager.getInstance(myProject), GlobalSearchScope.allScope(myProject));

          if (removeObject &&
              javaLangObject.equals(type)) {
            final HashSet<PsiTypeVariable> cluster = myFactory.getClusterOf(var.getIndex());

            if (cluster != null) {
              for (final PsiTypeVariable war : cluster) {
                final PsiType wtype = b.apply(war);

                if (!javaLangObject.equals(wtype)) {